package lolbatfsm.system;

/**
 * It is a transition which belongs to an equivalence class, so it is synchronous with
 * each other transition belonging to the same equivalence class.
 * @author Matteo Battaglio <madbat87@gmail.com>
 */
public class SynchronousTransition extends Transition {

    private final EquivalenceClass equivalenceClass;

    /**
     * Instantiates a new SynchronousTransition object.
     * @param source the source state
     * @param destination the destination state
     * @param equivalenceClass the equivalence class this transition belongs to
     */
    public SynchronousTransition(State source, State destination, EquivalenceClass equivalenceClass) {
        super(source, destination, equivalenceClass.getDuration());
        this.equivalenceClass = equivalenceClass;
    }

    public EquivalenceClass getEquivalenceClass() {
        return equivalenceClass;
    }

}
